package com.xmtlxx.web.controller.oms.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xmtlxx.common.annotation.DataColumn;
import com.xmtlxx.common.annotation.DataPermission;
import com.xmtlxx.oms.domain.bo.AuthCenterDisposalBo;
import com.xmtlxx.oms.domain.bo.DisposalNotRegisterBo;
import com.xmtlxx.oms.domain.bo.DisposalTempStorageBo;
import com.xmtlxx.oms.domain.bo.TaskDisposalApplyBo;
import com.xmtlxx.oms.domain.vo.DisposalProVo;
import com.xmtlxx.oms.domain.vo.RegionOverviewVo;
import com.xmtlxx.web.controller.center.vo.SendTaskVo;
import com.xmtlxx.common.core.domain.PageQuery;
import com.xmtlxx.common.core.page.TableDataInfo;
import com.xmtlxx.oms.domain.vo.TaskVo;
import com.xmtlxx.wms.domain.bo.HandoverBo;

import java.util.List;

public interface IDisposalTaskService {

    /**
     * 初始化处置信息
     * @param taskVo
     * @return
     */
    TaskVo initBean(TaskVo taskVo);
//
//    /**
//     * 处置信息详情
//     * @param id
//     * @return
//     */
//    TaskVo queryById(String id);
//
//
//    /**
//     * 新增处置信息
//     * @param bo
//     * @return
//     */
//    TaskVo insertByBo(TaskBo bo);
//
//    /**
//     * 修改处置信息
//     * @param bo
//     * @return
//     */
//    TaskVo updateByBo(TaskBo bo);
//
//    Boolean register(TaskBo bo);
//
    /**
     * 处置下发
     */
    void sendTask(SendTaskVo vo);
//
//    /**
//     * 处置登记列表
//     * @param bo
//     * @param pageQuery
//     * @return
//     */
//    TableDataInfo<DealVo> queryPageList(DealBo bo, PageQuery pageQuery);
//

//
//    /**
//     * 处置登记
//     * @param bo
//     * @return
//     */
//    List<DealVo> queryList(DealBo bo);
//
    /**
     * save handover info
     * @author hergreen
     * @date 2024/07/04 16:09
     * @param bo 交接信息
     * @return java.lang.Boolean
     */
    Boolean handoverSave(HandoverBo bo);
//
//    RegisterVo initRegister(List<String> ids);
//
//    Boolean batchRegister(RegisterVo vo);

    void disposalApply(TaskDisposalApplyBo bo);

    void disposalUpdate(TaskDisposalApplyBo bo);

    List<RegionOverviewVo> getDisposalNotRegisterOverview();

    TableDataInfo<DisposalNotRegisterBo> getDisposalNotRegisterPage(DisposalNotRegisterBo bo, PageQuery pageQuery);

    List<DisposalNotRegisterBo> getDisposalNotRegisterList(DisposalNotRegisterBo bo);

    List<AuthCenterDisposalBo> getAuthCenterDisposalList();

    DisposalProVo getDisposalProInfo(String pno);

    Page<DisposalTempStorageBo> getTempStorageList(PageQuery pageQuery,DisposalTempStorageBo bo );

    List<DisposalTempStorageBo> getTempStorageListExport(DisposalTempStorageBo bo );

    TaskVo getTaskById(String id);

}
